package com.xqzgj.system.domain;

import com.xqzgj.common.annotation.Excel;
import com.xqzgj.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 库存预警对象 stock_warning
 */
public class StockWarning extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 预警ID */
    private Long id;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String goodsCode;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品规格 */
    @Excel(name = "商品规格")
    private String goodsSpec;

    /** 商品单位 */
    @Excel(name = "商品单位")
    private String goodsUnit;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 当前库存 */
    @Excel(name = "当前库存")
    private Integer currentStock;

    /** 最低库存 */
    @Excel(name = "最低库存")
    private Integer minStock;

    /** 最高库存 */
    @Excel(name = "最高库存")
    private Integer maxStock;

    /** 安全库存 */
    @Excel(name = "安全库存")
    private Integer safeStock;

    /** 预警类型（1库存不足 2库存过多 3临期预警 4过期预警） */
    @Excel(name = "预警类型", readConverterExp = "1=库存不足,2=库存过多,3=临期预警,4=过期预警")
    private String warningType;

    /** 预警级别（1一般 2重要 3紧急） */
    @Excel(name = "预警级别", readConverterExp = "1=一般,2=重要,3=紧急")
    private String warningLevel;

    /** 预警状态（0未处理 1已处理 2已忽略） */
    @Excel(name = "预警状态", readConverterExp = "0=未处理,1=已处理,2=已忽略")
    private String warningStatus;

    /** 处理人ID */
    @Excel(name = "处理人ID")
    private Long handlerId;

    /** 处理人姓名 */
    @Excel(name = "处理人姓名")
    private String handlerName;

    /** 处理时间 */
    @Excel(name = "处理时间")
    private String handleTime;

    /** 处理备注 */
    private String handleRemark;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsSpec(String goodsSpec) {
        this.goodsSpec = goodsSpec;
    }

    public String getGoodsSpec() {
        return goodsSpec;
    }

    public void setGoodsUnit(String goodsUnit) {
        this.goodsUnit = goodsUnit;
    }

    public String getGoodsUnit() {
        return goodsUnit;
    }

    public void setWarehouseId(Long warehouseId) {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setCurrentStock(Integer currentStock) {
        this.currentStock = currentStock;
    }

    public Integer getCurrentStock() {
        return currentStock;
    }

    public void setMinStock(Integer minStock) {
        this.minStock = minStock;
    }

    public Integer getMinStock() {
        return minStock;
    }

    public void setMaxStock(Integer maxStock) {
        this.maxStock = maxStock;
    }

    public Integer getMaxStock() {
        return maxStock;
    }

    public void setSafeStock(Integer safeStock) {
        this.safeStock = safeStock;
    }

    public Integer getSafeStock() {
        return safeStock;
    }

    public void setWarningType(String warningType) {
        this.warningType = warningType;
    }

    public String getWarningType() {
        return warningType;
    }

    public void setWarningLevel(String warningLevel) {
        this.warningLevel = warningLevel;
    }

    public String getWarningLevel() {
        return warningLevel;
    }

    public void setWarningStatus(String warningStatus) {
        this.warningStatus = warningStatus;
    }

    public String getWarningStatus() {
        return warningStatus;
    }

    public void setHandlerId(Long handlerId) {
        this.handlerId = handlerId;
    }

    public Long getHandlerId() {
        return handlerId;
    }

    public void setHandlerName(String handlerName) {
        this.handlerName = handlerName;
    }

    public String getHandlerName() {
        return handlerName;
    }

    public void setHandleTime(String handleTime) {
        this.handleTime = handleTime;
    }

    public String getHandleTime() {
        return handleTime;
    }

    public void setHandleRemark(String handleRemark) {
        this.handleRemark = handleRemark;
    }

    public String getHandleRemark() {
        return handleRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("goodsId", getGoodsId())
                .append("goodsCode", getGoodsCode())
                .append("goodsName", getGoodsName())
                .append("goodsSpec", getGoodsSpec())
                .append("goodsUnit", getGoodsUnit())
                .append("warehouseId", getWarehouseId())
                .append("warehouseName", getWarehouseName())
                .append("currentStock", getCurrentStock())
                .append("minStock", getMinStock())
                .append("maxStock", getMaxStock())
                .append("safeStock", getSafeStock())
                .append("warningType", getWarningType())
                .append("warningLevel", getWarningLevel())
                .append("warningStatus", getWarningStatus())
                .append("handlerId", getHandlerId())
                .append("handlerName", getHandlerName())
                .append("handleTime", getHandleTime())
                .append("handleRemark", getHandleRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}